#include <iostream>
#include <vector>
#include <unistd.h>
#include "Thread.hpp"

void print(int cnt)
{
    while(cnt--)
    {
        std::cout << "hello thread" << std::endl;
        sleep(1);
    }
}

// int main1()
// {
//     std::vector<Thread> threads;
//     for(int i = 0; i < 5; i++) 
//     {
//         threads.push_back(Thread([](){
//             std::cout << "hello thread" << std::endl;
//         }, getThreadName()));
//     }
//     for(auto& t : threads)
//     {
//         t.start();
//         std::cout << t.getThreadName() << " is running: " << t.isRunning() << std::endl;
//     }
//     for(auto& t : threads)
//     {
//         t.join();
//     }

//     return 0;
// }

int main()
{
    Thread<int> t(getThreadName(), print, 5);
    t.start();
    t.join();

    return 0;
}